home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / DefaultBoundedRangeModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  4.0 KB  |  159 lines

  1. package javax.swing;
  2.  
  3. import java.io.Serializable;
  4. import javax.swing.event.ChangeEvent;
  5. import javax.swing.event.ChangeListener;
  6. import javax.swing.event.EventListenerList;
  7.  
  8. public class DefaultBoundedRangeModel implements BoundedRangeModel, Serializable {
  9.    protected transient ChangeEvent changeEvent = null;
  10.    protected EventListenerList listenerList = new EventListenerList();
  11.    private int value = 0;
  12.    private int extent = 0;
  13.    private int min = 0;
  14.    private int max = 100;
  15.    private boolean isAdjusting = false;
  16.    // $FF: synthetic field
  17.    static Class class$javax$swing$event$ChangeListener;
  18.  
  19.    public DefaultBoundedRangeModel() {
  20.    }
  21.  
  22.    public DefaultBoundedRangeModel(int var1, int var2, int var3, int var4) {
  23.       if (var4 >= var3 && var1 >= var3 && var1 + var2 >= var1 && var1 + var2 <= var4) {
  24.          this.value = var1;
  25.          this.extent = var2;
  26.          this.min = var3;
  27.          this.max = var4;
  28.       } else {
  29.          throw new IllegalArgumentException("invalid range properties");
  30.       }
  31.    }
  32.  
  33.    public void addChangeListener(ChangeListener var1) {
  34.       this.listenerList.add(class$javax$swing$event$ChangeListener != null ? class$javax$swing$event$ChangeListener : (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")), var1);
  35.    }
  36.  
  37.    // $FF: synthetic method
  38.    static Class class$(String var0) {
  39.       try {
  40.          return Class.forName(var0);
  41.       } catch (ClassNotFoundException var2) {
  42.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  43.       }
  44.    }
  45.  
  46.    protected void fireStateChanged() {
  47.       Object[] var1 = this.listenerList.getListenerList();
  48.  
  49.       for(int var2 = var1.length - 2; var2 >= 0; var2 -= 2) {
  50.          if (var1[var2] == (class$javax$swing$event$ChangeListener != null ? class$javax$swing$event$ChangeListener : (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")))) {
  51.             if (this.changeEvent == null) {
  52.                this.changeEvent = new ChangeEvent(this);
  53.             }
  54.  
  55.             ((ChangeListener)var1[var2 + 1]).stateChanged(this.changeEvent);
  56.          }
  57.       }
  58.  
  59.    }
  60.  
  61.    public int getExtent() {
  62.       return this.extent;
  63.    }
  64.  
  65.    public int getMaximum() {
  66.       return this.max;
  67.    }
  68.  
  69.    public int getMinimum() {
  70.       return this.min;
  71.    }
  72.  
  73.    public int getValue() {
  74.       return this.value;
  75.    }
  76.  
  77.    public boolean getValueIsAdjusting() {
  78.       return this.isAdjusting;
  79.    }
  80.  
  81.    public void removeChangeListener(ChangeListener var1) {
  82.       this.listenerList.remove(class$javax$swing$event$ChangeListener != null ? class$javax$swing$event$ChangeListener : (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")), var1);
  83.    }
  84.  
  85.    public void setExtent(int var1) {
  86.       int var2 = Math.max(0, var1);
  87.       if (this.value + var2 > this.max) {
  88.          var2 = this.max - this.value;
  89.       }
  90.  
  91.       this.setRangeProperties(this.value, var2, this.min, this.max, this.isAdjusting);
  92.    }
  93.  
  94.    public void setMaximum(int var1) {
  95.       int var2 = Math.min(var1, this.min);
  96.       int var3 = Math.min(var1, this.value);
  97.       int var4 = Math.min(var1 - var3, this.extent);
  98.       this.setRangeProperties(var3, var4, var2, var1, this.isAdjusting);
  99.    }
  100.  
  101.    public void setMinimum(int var1) {
  102.       int var2 = Math.max(var1, this.max);
  103.       int var3 = Math.max(var1, this.value);
  104.       int var4 = Math.min(var2 - var3, this.extent);
  105.       this.setRangeProperties(var3, var4, var1, var2, this.isAdjusting);
  106.    }
  107.  
  108.    public void setRangeProperties(int var1, int var2, int var3, int var4, boolean var5) {
  109.       if (var3 > var4) {
  110.          var3 = var4;
  111.       }
  112.  
  113.       if (var1 > var4) {
  114.          var4 = var1;
  115.       }
  116.  
  117.       if (var1 < var3) {
  118.          var3 = var1;
  119.       }
  120.  
  121.       if ((long)var2 + (long)var1 > (long)var4) {
  122.          var2 = var4 - var1;
  123.       }
  124.  
  125.       if (var2 < 0) {
  126.          var2 = 0;
  127.       }
  128.  
  129.       boolean var6 = var1 != this.value || var2 != this.extent || var3 != this.min || var4 != this.max || var5 != this.isAdjusting;
  130.       if (var6) {
  131.          this.value = var1;
  132.          this.extent = var2;
  133.          this.min = var3;
  134.          this.max = var4;
  135.          this.isAdjusting = var5;
  136.          this.fireStateChanged();
  137.       }
  138.  
  139.    }
  140.  
  141.    public void setValue(int var1) {
  142.       int var2 = Math.max(var1, this.min);
  143.       if (var2 + this.extent > this.max) {
  144.          var2 = this.max - this.extent;
  145.       }
  146.  
  147.       this.setRangeProperties(var2, this.extent, this.min, this.max, this.isAdjusting);
  148.    }
  149.  
  150.    public void setValueIsAdjusting(boolean var1) {
  151.       this.setRangeProperties(this.value, this.extent, this.min, this.max, var1);
  152.    }
  153.  
  154.    public String toString() {
  155.       String var1 = "value=" + this.getValue() + ", " + "extent=" + this.getExtent() + ", " + "min=" + this.getMinimum() + ", " + "max=" + this.getMaximum() + ", " + "adj=" + this.getValueIsAdjusting();
  156.       return this.getClass().getName() + "[" + var1 + "]";
  157.    }
  158. }
  159.